﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Services;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService
{
    public Service () {

        //Elimine la marca de comentario de la línea siguiente si utiliza los componentes diseñados 
        //InitializeComponent(); 
    }

    static private string strConn = ConfigurationManager.ConnectionStrings["Connt"].ConnectionString;
    private SqlConnection objConn = new SqlConnection(strConn);

    [WebMethod]
    public void obtenerDatos(ref String mensaje, string cSQL, ref System.Data.DataSet ds)
    {
        try
        {
            SqlDataAdapter da = new SqlDataAdapter(cSQL, objConn);
            da.Fill(ds);
        }
        catch (Exception ex)
        {
            mensaje = ex.Message;
        }
    }
     [WebMethod]
    public Boolean actualizarDatos(String cSQL, ref String Mensaje)
    {
        try
        {
            SqlCommand cmd = new SqlCommand(cSQL, objConn);
            if (objConn.State == System.Data.ConnectionState.Closed) objConn.Open();
            cmd.ExecuteNonQuery();
            if (objConn.State == System.Data.ConnectionState.Open) objConn.Close();
            return true;
        }
        catch (Exception ex)
        {
            Mensaje = ex.Message;
            return false;
        }
    }

     [WebMethod]
    public void clasificarUsuario(string UsuarioID, string Clave, ref System.Data.DataSet ds)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Usuario= new SqlParameter();
         SqlParameter  clave = new SqlParameter();
        cmd = new SqlCommand("ValidarUsuario|", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        
      Usuario = cmd.Parameters.Add("@UsuarioID", System.Data.SqlDbType.NChar);
     clave = cmd.Parameters.Add("@Clave", System.Data.SqlDbType.VarChar);

        Usuario.Value = UsuarioID;
        clave.Value = Clave;
     
         Usuario.Direction = System.Data.ParameterDirection.Input;
         clave.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dA = new SqlDataAdapter(cmd);
        dA.Fill(ds);
    }

    [WebMethod]
    public void Cliente(string UsuarioID, string Nom, string Apell, string Direccion, string Tel, string TipoID, string Clave, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Id = new SqlParameter();
        SqlParameter nom = new SqlParameter();
        SqlParameter apell = new SqlParameter();
        SqlParameter direc = new SqlParameter();
        SqlParameter telf = new SqlParameter();
        SqlParameter tipId = new SqlParameter();
        SqlParameter clav = new SqlParameter();
 
        cmd = new SqlCommand("CrearCliente", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Id = cmd.Parameters.Add("@IdUser", System.Data.SqlDbType.NChar);
        nom = cmd.Parameters.Add("@Nomb", System.Data.SqlDbType.VarChar);
        apell = cmd.Parameters.Add("@Apell",System.Data.SqlDbType.VarChar);
        direc = cmd.Parameters.Add("@Direc",System.Data.SqlDbType.VarChar);
        telf = cmd.Parameters.Add("@Telf", System.Data.SqlDbType.VarChar);
        tipId = cmd.Parameters.Add("@IdTipo", System.Data.SqlDbType.NChar);
        clav = cmd.Parameters.Add("@Clave", System.Data.SqlDbType.NChar);
       
        Id.Value = UsuarioID;
        nom.Value = Nom;
        apell.Value = Apell;
        direc.Value = Direccion;
        telf.Value = Tel;
        tipId.Value = TipoID;
        clav.Value = Clave;
       
        Id.Direction = System.Data.ParameterDirection.Input;
        nom.Direction = System.Data.ParameterDirection.Input;
        apell.Direction = System.Data.ParameterDirection.Input;
        direc.Direction = System.Data.ParameterDirection.Input;
        telf.Direction = System.Data.ParameterDirection.Input;
        tipId.Direction = System.Data.ParameterDirection.Input;
        clav.Direction = System.Data.ParameterDirection.Input;
       
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(dst);
    }

    [WebMethod]
    public void Pelicula(string PeliID, string Titulo, DateTime FCreacion, string Duracion, double PCosto, string CategoriaID, double PAlquiler, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Idpeli = new SqlParameter();
        SqlParameter titulo = new SqlParameter();
        SqlParameter Fecha = new SqlParameter();
        SqlParameter duracion = new SqlParameter();
        SqlParameter PrecioCosto = new SqlParameter();
        SqlParameter IdCateg = new SqlParameter();
        SqlParameter AlquilerP = new SqlParameter();
        cmd = new SqlCommand("CPelicula", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Idpeli = cmd.Parameters.Add("@PeliID", System.Data.SqlDbType.NChar);
        titulo = cmd.Parameters.Add("@Titulo", System.Data.SqlDbType.VarChar);
        Fecha = cmd.Parameters.Add("@FCreacion", System.Data.SqlDbType.Date);
        duracion = cmd.Parameters.Add("@Duracion", System.Data.SqlDbType.VarChar);
        PrecioCosto = cmd.Parameters.Add("@PCosto", System.Data.SqlDbType.Money);
        IdCateg = cmd.Parameters.Add("@CategoriID", System.Data.SqlDbType.NChar);
        AlquilerP = cmd.Parameters.Add("@PAlquiler", System.Data.SqlDbType.Money);
        Idpeli.Value = PeliID;
        titulo.Value = Titulo;
        Fecha.Value = FCreacion;
        duracion.Value = Duracion;
        PrecioCosto.Value = PCosto;
        IdCateg.Value = CategoriaID;
        AlquilerP.Value = PAlquiler;
        Idpeli.Direction = System.Data.ParameterDirection.Input;
        titulo.Direction = System.Data.ParameterDirection.Input;
        Fecha.Direction = System.Data.ParameterDirection.Input;
        duracion.Direction = System.Data.ParameterDirection.Input;
        PrecioCosto.Direction = System.Data.ParameterDirection.Input;
        IdCateg.Direction = System.Data.ParameterDirection.Input;
        AlquilerP.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);
     }

    [WebMethod]
    public void Categoria(string CategoriaID, string Descripcion, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter Idcat = new SqlParameter();
        SqlParameter Descrip = new SqlParameter();
        cmd = new SqlCommand("CrearCategoria", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        Idcat = cmd.Parameters.Add("@IdCateg", System.Data.SqlDbType.NChar);
        Descrip = cmd.Parameters.Add("@Descrip", System.Data.SqlDbType.VarChar);
        Idcat.Value = CategoriaID;
        Descrip.Value = Descripcion;
        Idcat.Direction = System.Data.ParameterDirection.Input;
        Descrip.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);
    }

    [WebMethod]
    public void Protagonista(string ProtaID, string Nom, string Apell, string Nacionalidad, Boolean Sexo, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter IdProtag = new SqlParameter();
        SqlParameter Nomb = new SqlParameter();
        SqlParameter Apellid = new SqlParameter();
        SqlParameter Nacionalid = new SqlParameter();
        SqlParameter sexo = new SqlParameter();
        cmd = new SqlCommand("CrearProtagonista", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        IdProtag = cmd.Parameters.Add("@IdProtag", System.Data.SqlDbType.NChar);
        Nomb = cmd.Parameters.Add("@Nomb", System.Data.SqlDbType.VarChar);
        Apellid = cmd.Parameters.Add("@Apell", System.Data.SqlDbType.VarChar);
        Nacionalid = cmd.Parameters.Add("@Nacionalidad", System.Data.SqlDbType.VarChar);
        sexo = cmd.Parameters.Add("@sexo", System.Data.SqlDbType.Bit);
        IdProtag.Value = ProtaID;
        Nomb.Value = Nom;
        Apellid.Value = Apell;
        Nacionalid.Value = Nacionalidad;
        sexo.Value = Sexo;
        IdProtag.Direction = System.Data.ParameterDirection.Input;
        Nomb.Direction = System.Data.ParameterDirection.Input;
        Apellid.Direction = System.Data.ParameterDirection.Input;
        Nacionalid.Direction = System.Data.ParameterDirection.Input;
        sexo.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);        
    }

    [WebMethod]
    public void Alquiler(string PeliID, DateTime FInicio, DateTime FEntrega, double PDiario, double PAlquiler, double MMulta ,Boolean Estado, string UsuarioID, ref System.Data.DataSet dst)
    {
        SqlCommand cmd = new SqlCommand();
        SqlParameter IdPeli = new SqlParameter();
        SqlParameter FehaInic = new SqlParameter();
        SqlParameter FechaEnt = new SqlParameter();
        SqlParameter PrecioD = new SqlParameter();
        SqlParameter MontAlquil = new SqlParameter();
        SqlParameter MntMulta = new SqlParameter();
        SqlParameter estado = new SqlParameter();
        SqlParameter IdUsuario = new SqlParameter();
       
        cmd = new SqlCommand("CrearAlquiler", objConn);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        IdPeli = cmd.Parameters.Add("@IdPeli", System.Data.SqlDbType.NChar);
        FehaInic = cmd.Parameters.Add("@FInicio", System.Data.SqlDbType.Date);
        FechaEnt = cmd.Parameters.Add("@FEntrega", System.Data.SqlDbType.DateTime);
        PrecioD = cmd.Parameters.Add("@PDiario", System.Data.SqlDbType.Money);
        MontAlquil = cmd.Parameters.Add("@MontAlquiler", System.Data.SqlDbType.Money);
        MntMulta = cmd.Parameters.Add("@MontoMulta", System.Data.SqlDbType.Money);
        estado = cmd.Parameters.Add("@Estado", System.Data.SqlDbType.Bit);
        IdUsuario = cmd.Parameters.Add("@IdUsuario", System.Data.SqlDbType.NChar);
       
        IdPeli.Value = PeliID;
        FehaInic.Value = FInicio;
        FechaEnt.Value = FEntrega;
        PrecioD.Value = PDiario;
        MontAlquil.Value = PAlquiler;
        MntMulta.Value = MMulta;
        estado.Value = Estado;
        IdUsuario.Value =UsuarioID;
      
        IdPeli.Direction = System.Data.ParameterDirection.Input;
        FehaInic.Direction = System.Data.ParameterDirection.Input;
        FechaEnt.Direction = System.Data.ParameterDirection.Input;
        PrecioD.Direction = System.Data.ParameterDirection.Input;
        MontAlquil.Direction = System.Data.ParameterDirection.Input;
        estado.Direction = System.Data.ParameterDirection.Input;
        IdUsuario.Direction = System.Data.ParameterDirection.Input;
        MntMulta.Direction = System.Data.ParameterDirection.Input;
        SqlDataAdapter dAp = new SqlDataAdapter(cmd);
        dAp.Fill(dst);  
    }
    
    
}